The invention pertains to process control and has application to remote process control.
Process control refers to the control of the operational parameters of a system by monitoring one or more of its characteristics over time. It is used to insure that the quality and efficiency of the system remain within desired parameters over the course of time. While process control is typically employed in the manufacturing sector for process, repetitive and discrete manufactures, it also has wide application in service industries, such as environmental control.
Process control equipment typically utilizes control/sensing devices that are physically integrated into the systems being controlled. For example, a thermostat is typically used in environmental control to insure that building temperatures remain within specified parameters. Likewise, flow control sensors and automated valves are typically used in process manufacturing to insure proper fluid flow volumes.
Though in early process control systems, control/sensing devices were typically stand-alone units, modern process control systems provide central workstations for monitoring and controlling the control/sensing devices. Particularly robust systems are the I/A Series(trademark) industrial automation systems designed, manufactured and marketed by the assignee hereof, The Foxboro Company, of Foxboro, Mass. USA. In these systems, multiple control/sensing devices are coupled by way of buses to control stations which, in turn, are coupled by way of a local area network (LAN) to one or more operator workstations.
The I/A Series systems are built around the client/server model. Client applications software executing on the workstations exchange information with the control/sensing devices via a server, referred to as the xe2x80x9cobject manager,xe2x80x9d executing in distributed fashion in the control stations. Upon request by a client application, the server creates, locates, accesses and updates data structures (xe2x80x9cobjectsxe2x80x9d) storing information on the status of at least selected control/sensing devices. For example, a client application that displays temperatures sensed by a thermocouple requests that the server create an object storing a temperature reading from the thermocouple and that the server notify the client each time the temperature changes.
Although modern process control systems, such as the I/A Series systems, have proven quite successful, to date they have provided only limited remote access capabilities. Thus, while numerous operator workstations may reside within the factory or facility in which the control/sensing devices are disposed, it has traditionally proven difficult to access and control those devices outside those areas.
Remote access and control of processes is desirable for a number of purposes. A plant manager who is xe2x80x9con the road,xe2x80x9d for example, may wish to monitor the plant processes while travelling. By way of further example, the manufacturer of process control equipment may require remote access to a plant""s control/sensing devices in order to provide technical support.
An object of this invention is to provide improved methods and apparatus for process control.
Another object of the invention is to provide such methods and apparatus as permit monitoring and control of remote processes.
Still another object of the invention is to provide such methods and apparatus as can be readily adapted to existing automated process control systems.
Yet still another object of the invention is to provide such methods and apparatus as can be implemented without undue expense and without undue consumption of resources.
The aforementioned objects are among those attained by the invention, which provides, in one aspect, a system for process control comprising a server digital data processor and a client digital data processor that are coupled by a network, such as the Internet or an Intranet. The server digital data processor, which is additionally coupled to a control/sensing device and associated interface equipment (collectively, referred to as xe2x80x9cprocess control apparatusxe2x80x9d), includes a command processor that transfers information between the network and the process control apparatus.
The client digital data processor includes an information client (e.g., an Internet web browser) capable of requesting and receiving an applet from the server digital data processor. That information client, further, defines a hardware-independent and operating system-independent virtual machine environment within the client digital data processor.
The client digital data processor executes, within that virtual machine environment, an applet that configures the client digital data processor as a xe2x80x9cprocess controllerxe2x80x9d that establishes communications over the network with the command processor and that monitors and/or controls the process control apparatus via those communications. The applet is intermediate or executable code that is suitable for interpretation or execution within the virtual machine environment and that is hardware-independent, operating system-independent and windows system-independent
In further related aspects, the aforementioned applet can be, for example, JAVA programming language bytecode, and the virtual machine environment can be that created by a JAVA-enabled web browser.
According to other aspects of the invention, the command processor in a system for process control as defined above provides services (i.e., xe2x80x9csoftware servicesxe2x80x9d) for access and modification of information regarding the process control apparatus. These services can permit, for example, the creation of a data structure object that stores information about the process control apparatus and that associates a name with that object; the destruction of such an object; the accessing of information in such an object; the updating of information in such an object; the determination, from an object name, of the physical address of the object; and the notification of changes in information stored by the object. The process controller generates and transmits over the network to the command processor requests for such services in order to monitor and/or control the process control apparatus.
A further aspect of the invention provides a system as described above in which the process controller generates and transfers commands (e.g., requests for service) over the network to the command processor in order to effect a transfer from the command processor of information regarding a status of the process control apparatus. The command processor responds to those requests by generating information on the status of the process control apparatus and transferring it back to the process controller over the network. The process controller can, for example, generate a user display based on that information.
In a related aspect, the command processor responds to selected commands (i.e., requests for event-driving access) by notifying the process controller of changes in the status of at least selected aspects of the process control apparatus. By way of example, where the process control apparatus includes a thermocouple, this aspect of the invention permits notification of the command processor whenever the thermocouple senses a change in temperature that exceeds a predetermined delta value.
Still further aspects of the invention provide process control systems as described above in which the server digital data processor includes an information server (e.g., a hypertext transfer protocol server). An information client (e.g., web browser) in the client digital data processor establishes communications with the information server over the network and receives therefrom a hypertext markup language (HTML) document referencing the applet. The web browser generates a user display of that document and, in response to a user command, transfers to the information server a request for the applet.
Yet still further aspects of the invention provide systems for process control in which a first digital data processor executes a JAVA applet within a virtual machine environment defined on the digital data processor. The applet configures the digital data processor to generate a message to invoke a method in connection with monitoring and/or controlling a process control apparatus. An object manager, which is in communication with the JAVA applet, responds to the message for invoking the method.
Other aspects of the invention provide methods for process control paralleling the operations of the systems described above.
These and other aspects of the invention are evident in the drawings and in the detailed description that follows.